import torch
import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
    def __init__(self, char_size=32, embedding_size=768):
        # char_size，输入句子的字符数量，即输入句子规范后的长度128
        # embedding_size，词嵌入的维度，因为使用bert中文模型嵌入维度是768,因此embedding_size设置为768
        super(Net, self).__init__()
        # 将char_size和embedding_size传入其中
        self.char_size = char_size
        self.embedding_size = embedding_size

        #实例化一个全连接层
        self.fc1 = nn.Linear(char_size*embedding_size, 2)

    def forward(self, x):
        # 对输入张量开关进行变换，以满足接下来层的输入要求
        x = x.view(-1, self.char_size*self.embedding_size)
        # 使用一个全连接层
        x = self.fc1(x)
        return x

if __name__ == "__main__":
    # 随机初始化一个输入参数
    x = torch.randn(1, 32, 768)
    # 实例化网络结构，所有参数使用默认值
    net = Net()
    nr = net(x)
    print(nr)